#列表相关练习
#1.创建一个列表，至少包含三个饭搭子，然后使这个列表打印消息，邀请这些人和你共进晚餐
names = ['peter','ben','david']
message_one = f"hi {names[0]}, May I have the pleasure of inviting you to dinner?"
message_two = f"hi {names[1]}, may I have the pleasure of inviting you to dinner?"
message_three = f"hi {names[-1]} May I have the pleasure of inviting you to dinner?"
print(message_one.title())
print(message_two.title())
print(message_three.title())

#2.得知有位嘉宾无法应邀，修改名单，邀请另一位嘉宾
print(f"因为{names[1]}今晚有事，所以无法参加")
names[1] = "马斯克"
print(f"你好{names[0]},{names[1]},{names[-1]},希望你们可以来参加我的晚宴")

#3.找到了一个更大的餐桌，可以容纳更多嘉宾，请多邀请三位嘉宾，将一位嘉宾添加到名单开头，一位添加到名单中间，一位添加到名单末尾
print(f"hi{names[0]},{names[1]},{names[2]},我找到了一张更大的桌子，接下来我将邀请更多人来参加晚宴")
names.insert(0,"马云")
names.insert(2,"王健林")
names.append("max")
print(f"hi{names[0]},{names[1]},{names[2]},{names[3]},{names[4]},{names[5]},我有一张大桌子，可以邀请你们来参加晚宴吗")

#4.餐桌无法及时送达，只能邀请两位嘉宾，使用pop不断删除嘉宾，并弹出消息通知他们无法邀请来参加晚宴了，对剩下两位发送消息指出他们仍在名单内，最后清空列表
print(f"sorry,{names[0]},{names[1]},{names[2]},{names[3]},{names[4]},{names[5]},餐桌无法及时到达，今晚我只能邀请你们当中的两位了")
first = names.pop(0)
print(f'很抱歉，{first}，你被淘汰了')
second = names.pop(0)
print(f'很抱歉，{second},你被淘汰了')
third = names.pop(0)
print(f'很抱歉，{third},you out')
fourth = names.pop(0)
print(f'对不起，{fourth},you out')
print(f'恭喜你，{names[0]},你晋级了')
print(f'恭喜你,{names[1]},你晋级了')
del names[0]
del names[0]
print(names)
#5.使用len()打印消息，指出你邀请了多少嘉宾
print(f"最后我邀请了{len(names)}位嘉宾来参加晚宴")

#5.创建列表，包含五个地点 确保不是按字母顺序排列的
#a.按原始顺序打印该列表
#b.使用sorted()按字母顺序打印该列表，不要修改它，再次打印列表，确认排列顺序未变
#c.使用sorted()按字母相反顺序打印该列表，不要修改它，再次打印列表，确认排列顺序未变
#d.使用reverse()修改列表元素的排列顺序，打印列表，确认顺序已经改变
#e.使用reverse()再次修改列表元素的排列顺序，打印列表，确认顺序已经恢复
#f.使用sort()修改列表，使元素按字母顺序排列，打印列表，确认顺序确实发生改变
#g.使用sort()修改列表，使元素按字母相反顺序排列，打印列表，确认顺序确实发生改变

place = ['上海','纽约','埃塞俄比亚','印尼','潮汕']
print(place) #a
print(sorted(place))
print(place)#b
print(sorted( place,reverse=True))
print(place)#c
place.reverse()
print(place)#d
place.reverse()
print(place)#e
place.sort()
print(place)#f
place.sort(reverse=True)
print(place)#g